using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("EmoteEntry")]
	public class EmoteEntry : MonoClass
	{
		public EmoteType m_emoteType => method_2<EmoteType>("m_emoteType");

		public Spell m_emoteSpell => method_3<Spell>("m_emoteSpell");

		public CardSoundSpell m_emoteSoundSpell => method_3<CardSoundSpell>("m_emoteSoundSpell");

		public string m_emoteGameStringKey => method_4("m_emoteGameStringKey");

		public string m_emoteSpellPath => method_4("m_emoteSpellPath");

		public string m_emoteSoundSpellPath => method_4("m_emoteSoundSpellPath");

		public Card m_owner => method_3<Card>("m_owner");

		public EmoteEntry(IntPtr address, string className)
			: base(address, className)
		{
		}

		public EmoteEntry(IntPtr address)
			: this(address, "EmoteEntry")
		{
		}

		public EmoteType GetEmoteType()
		{
			return method_11<EmoteType>("GetEmoteType", Array.Empty<object>());
		}

		public string GetGameStringKey()
		{
			return method_13("GetGameStringKey");
		}

		public void LoadSoundSpell()
		{
			method_8("LoadSoundSpell");
		}

		public CardSoundSpell GetSoundSpell(bool loadIfNeeded)
		{
			return method_14<CardSoundSpell>("GetSoundSpell", new object[1] { loadIfNeeded });
		}

		public Spell GetSpell(bool loadIfNeeded)
		{
			return method_14<Spell>("GetSpell", new object[1] { loadIfNeeded });
		}

		public void Clear()
		{
			method_8("Clear");
		}
	}
}
